/***************************************************************************
 * Copyright 2012-2013 TXT e-solutions SpA
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 * This work was performed within the IoT_at_Work Project
 * and partially funded by the European Commission's
 * 7th Framework Programme under the contract ICT-257367.
 *
 * Authors:
 *      Cristoforo Seccia
 *
 * Contributors:
 *        Domenico Rotondi (TXT e-solutions SpA)
 **************************************************************************/
package it.txt.ens.schema;

import java.math.BigInteger;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;


/**
 * <p>Java class for SuccessResponseType complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="SuccessResponseType">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="Subject" type="{http://schema.ens.services.capability.access.txt.it}SubjectType"/>
 *         &lt;element name="AccessToken" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="QueueName" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="BrokerPort" type="{http://www.w3.org/2001/XMLSchema}integer"/>
 *         &lt;element name="BrokerHost" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="VirtualHost" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="SessionToken" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="SessionExpiration" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
 *         &lt;element name="UseTLS" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SuccessResponseType", propOrder = {
    "subject",
    "accessToken",
    "queueName",
    "brokerPort",
    "brokerHost",
    "virtualHost",
    "sessionToken",
    "sessionExpiration",
    "useTLS"
})
public class SuccessResponseType {

    @XmlElement(name = "Subject", required = true)
    protected SubjectType subject;
    @XmlElement(name = "AccessToken", required = true)
    protected String accessToken;
    @XmlElement(name = "QueueName", required = true)
    protected String queueName;
    @XmlElement(name = "BrokerPort", required = true)
    protected BigInteger brokerPort;
    @XmlElement(name = "BrokerHost", required = true)
    protected String brokerHost;
    @XmlElement(name = "VirtualHost", required = true)
    protected String virtualHost;
    @XmlElement(name = "SessionToken", required = true)
    protected String sessionToken;
    @XmlElement(name = "SessionExpiration", required = true)
    @XmlSchemaType(name = "dateTime")
    protected XMLGregorianCalendar sessionExpiration;
    @XmlElement(name = "UseTLS")
    protected Boolean useTLS;

    /**
     * Gets the value of the subject property.
     * 
     * @return
     *     possible object is
     *     {@link SubjectType }
     *     
     */
    public SubjectType getSubject() {
        return subject;
    }

    /**
     * Sets the value of the subject property.
     * 
     * @param value
     *     allowed object is
     *     {@link SubjectType }
     *     
     */
    public void setSubject(SubjectType value) {
        this.subject = value;
    }

    /**
     * Gets the value of the accessToken property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAccessToken() {
        return accessToken;
    }

    /**
     * Sets the value of the accessToken property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAccessToken(String value) {
        this.accessToken = value;
    }

    /**
     * Gets the value of the queueName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getQueueName() {
        return queueName;
    }

    /**
     * Sets the value of the queueName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setQueueName(String value) {
        this.queueName = value;
    }

    /**
     * Gets the value of the brokerPort property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getBrokerPort() {
        return brokerPort;
    }

    /**
     * Sets the value of the brokerPort property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setBrokerPort(BigInteger value) {
        this.brokerPort = value;
    }

    /**
     * Gets the value of the brokerHost property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getBrokerHost() {
        return brokerHost;
    }

    /**
     * Sets the value of the brokerHost property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setBrokerHost(String value) {
        this.brokerHost = value;
    }

    /**
     * Gets the value of the virtualHost property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getVirtualHost() {
        return virtualHost;
    }

    /**
     * Sets the value of the virtualHost property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setVirtualHost(String value) {
        this.virtualHost = value;
    }

    /**
     * Gets the value of the sessionToken property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSessionToken() {
        return sessionToken;
    }

    /**
     * Sets the value of the sessionToken property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSessionToken(String value) {
        this.sessionToken = value;
    }

    /**
     * Gets the value of the sessionExpiration property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getSessionExpiration() {
        return sessionExpiration;
    }

    /**
     * Sets the value of the sessionExpiration property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setSessionExpiration(XMLGregorianCalendar value) {
        this.sessionExpiration = value;
    }

    /**
     * Gets the value of the useTLS property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isUseTLS() {
        return useTLS;
    }

    /**
     * Sets the value of the useTLS property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setUseTLS(Boolean value) {
        this.useTLS = value;
    }

}
